/* 
 * File:   Pow.h
 * Author: Gab'z
 *
 * Created on 3 juin 2012, 22:43
 */

#ifndef POW_H
#define	POW_H

#include "BinaryOperator.h"

namespace calculator {

    class Pow : public BinaryOperator {
        friend class CommandMap;

    public:
        virtual ~Pow();
        std::string isExecutable() const;
        
        Pow* clone() const;

        const Number* apply(const Number* n1, const Number* n2) const throw (ArithmeticException);

    private:
        Pow(const std::string name);
        Pow(const Pow& orig);
    };
}

#endif	/* POW_H */

